1
תגובות
היי,
בעת ניסיון לאתר את סיומת הקובץ שהגולש מעלה, נתקלתי בשגיאה הבאה:
Strict Standards: Only variables should be passed by reference

הקוד שלי:
$this->ext      = array_pop(explode(".", strtolower($this->file)));


אשמח לעזרה

1 תשובות

avatar ענה intval ב 11 לנובמבר 2014 #

array_pop מצפה לקבל משתנה (מצביע למשתנה) ולא מערך אנונימי ולחרת מכן array_pop משנה את המשתנה שקיבלה. כאן אתה מקבל הודעה שלא היה ניתן לשנות את המערך שהתקבל כי הוא לא שמור בזיכרון בתור משתנה.

או שאתה שומר את תוצאת החישוב הזמני לתוך משתנה ומעביר אותו ל array_pop

$x= explode(".", strtolower("bla.xyz"));
  echo array_pop($x);

או שאתה משתמש במשהו אחר
ובכלל, אל תיתן לרמות את עצמך